Anaconda创建虚拟环境并使用Jupyter | 您所在的位置:网站首页 › 虚拟环境 英文 › Anaconda创建虚拟环境并使用Jupyter |
Anaconda
Anaconda 是一个用于科学计算的 Python 发行版,支持 Linux, Mac, Windows, 包含了众多流行的科学计算、数据分析的 Python 包。 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 下载。 具体安装步骤自行百度。 虚拟环境 什么是虚拟环境?一个虚拟化,从电脑独立开辟出来的环境。通俗的来讲,虚拟环境就是借助虚拟机docker来把一部分内容独立出来,我们把这部分独立出来的东西称作“容器”,在这个容器中,我们可以只安装我们需要的依赖包,各个容器之间互相隔离,互不影响。譬如,本次学习需要用到Django,我们可以做一个Django的虚拟环境,里面只需要安装Django相关包就可以了,需要Scrapy库,就在开辟一个独立空间来学习Scrapy库相关就行了。 为什么使用虚拟环境?在实际项目开发中,我们通常会根据自己的需求去下载各种相应的框架库,如Scrapy、Beautiful Soup等,但是可能每个项目使用的框架库并不一样,或使用框架的版本不一样,这样需要我们根据需求不断的更新或卸载相应的库。直接怼我们的Python环境操作会让我们的开发环境和项目造成很多不必要的麻烦,管理也相当混乱。如一下场景: 场景1:项目A需要某个框架1.0版本,项目B需要这个库的2.0版本。如果没有安装虚拟环境,那么当你使用这两个项目时,你就需要 来回 的卸载安装了,这样很容易就给你的项目带来莫名的错误; 场景2:公司之前的项目需要python2.7环境下运行,而你接手的项目需要在python3环境中运行,想想就应该知道,如果不使用虚拟环境,这这两个项目可能无法同时使用,使用python3则公司之前的项目可能无法运行,反正则新项目运行有麻烦。而如果虚拟环境可以分别为这两个项目配置不同的运行环境,这样两个项目就可以同时运行。 Tips:其实虚拟环境好处也确实比较多,会给我们项目的开发带来许多的好处,但不要贪玩哦。 使用和管理虚拟环境 运行Anaconda Prompt检验当前conda的版本 conda -V 创建虚拟环境: conda create -n env_name python=x.x #同时可以安装指定库 conda create -n env_name numpy matplotlib python=3.6env_name 为虚拟环境名称,x.x为虚拟环境python的版本,根据需求来定。 激活虚拟环境 conda activate env_name 退出虚拟环境 conda deactivate env_name 查看已有的虚拟环境 conda env list 或 conda info -e 如果没有进入到当前虚拟环境,使用-n env_name 的方式去指定对某个虚拟环境安装软件 # 查看指定环境下已安装的package conda list -n env_name # 安装指定环境下某个package conda install -n env_name [package] # 删除指定环境下某个package conda remove -n env_name [package] # 更新指定环境下某个package conda update -n env_name [package] 重命名环境 conda create -n env_name1 --clone env_name2 删除虚拟环境 conda remove -n env_name --all删除虚拟环境中的包 conda remove --name $your_env_name $package_name(包名)检查更新当前conda conda update conda 换源 有时用国外镜像源下载库的速度比较慢,因此可以将镜像源换位国内的。 Windows 用户无法直接创建名为 .condarc 的文件,可先执行 conda config --set show_channel_urls yes 生成该文件之后再修改。 channels: - defaults show_channel_urls: true default_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2 custom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud simpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud然后运行 conda clean -i 清除索引缓存即可。 Jupyter Notebook Jupyter notebook简介Jupyter这个名字是它要服务的三种语言的缩写:Julia,PYThon和R,这个名字与“木星(jupiter)”谐音。 之前我们只能在普通的 Python shell 或者在IDE(集成开发环境)中写代码,然后在word中写文档来说明你的项目。这个过程很反锁,而且写完代码之后,还需要重头回顾一遍代码来写文档。最致命的地方在于,有些数据分析的中间结果,还需要重新跑代码,然后把结果弄到文档里给客户看。但是notebook 可以直接在代码旁写出叙述性文档,而不是另外编写单独的文档。也就是它可以能将代码、文档等这一切集中到一处,让用户一目了然。 例如: 安装Anaconda时自带Jupyter notebook,如果没有可以通过执行命令行pip3 install jupyter即可 双击Jupyter notebook图标。![]() ps:如果同时启动多个Jupyter Notebook,由于默认端口“8888”被占用,因此地址栏中的数字将从“8888”起,每多启动一个Jupyter Notebook数字就加1,如“8889”、“8890”… 指定端口启动 jupyter notebook --port 启动服务器但不打开浏览器 jupyter notebook --no-browser 关闭 notebook服务器通过在终端中按两次 Ctrl + C,可以关闭整个服务器。 关闭Jupler notebook文件对于关闭 notebook,可以通过选中文件,点击 “shutdown” 来操作操作,但请确认先保存。 Jupyter notebook有两种不同的键盘输入模式: ① 编辑模式:编辑代码,单元格显示绿色边框。 切换方式:单击单元格内,或者直接按键盘上 Enter 键,即可进入编辑模式。 ② 命令模式:执行命令,比如在上添加一个单元格,在下添加一个单元格,删除选中的单元格等,单元格显示***蓝色***边框。 切换方式:单击单元格外任何位置,或者直接按键盘上 Esc 键,即可进入命令模式。 平时在 IDE 软件里敲代码一样,可以编写和执行代码,给变量赋值、定义函数和类、导入包等。可以通过 Shift + Enter 执行单元格代码。 Markdowen模式:用来记笔记,可以加入链接、将文本样式设为粗体或斜体和设置代码格式。通过 Shift + Enter 或 Ctrl + Enter 可运行 Markdown 单元格,将 Markdown 呈现为格式化文本。 在code编辑模式下,Esc一下切换到命令模式,然后M键一下切换到markdown模式。 可以直接修改 ![]() 上传完成后,点击上传的文件,就可以在notebook中打开了 下载notebook文件点击File->Download as,可以选择多种格式下载你的notebook。可以根据下面的用途来选择不同的下载格式: 如果想和客户分享数据分析成果,选择将notebook下载为HTML文件。如果希望将自己的数据分析成果和代码嵌入到项目中,可以选择Python(.py)模块,这样可以将我的代码融入项目中,成为子模块,方便和其他开发人员共同完成任务。如果想要在博客或文档中使用 notebook,我就选择Markdown格式。默认的notebook文件后缀是.ipynb 快捷键(网页上的Jupyter Notebook应用)notebook 快捷键,能让你无需使用鼠标和工具栏,快速使用键盘与单元格交互。虽然了解这些快捷键需要花费一点时间,但熟练掌握之后,可以大大提高工作效率。快捷键可以通过单元格 蓝色 状态下按 “h” 来查看 Magic关键字是 IPython 的一些高级用法,可以运行特殊的命令,然后控制 notebook。例如,在 notebook 中可以使用%matplotlib 将 matplotlib 设置为以交互方式工作。 Magic 命令的前面带有一个或两个百分号(% 或 %%),分别代表行 Magic 命令和单元格 Magic 命令。行 Magic 命令仅应用于编写 Magic 命令时所在的行,而单元格 Magic 命令应用于整个单元格。 比如: 1.运行外部python源文件:%run xxx.py 2.计算statement的运行时间:%time statement 3.计算statement的平均运行时间:%timeit statement 4.测试多行代码的平均运行时间: %%timeit statement1 statement2 statement3当然还有很多 Magic 关键字的使用,更多内容请参考:http://ipython.readthedocs.io/en/stable/interactive/magics.html Jupyter Notebook内核管理 查看所有kernel jupyter kernelspec list 删除kernel jupyter kernelspec remove xxxx 切换kernel 一般情况下,可以新建文件来选择kernel。![]() 如果不在的话,可以通过一下方案解决: . 安装ipykernel jupyter kernelspec list conda install ipykernel #如果不行的话可以使用 pip install ipykernel #不要问为什么,问就是不知道(计算机的神奇之处) 激活虚拟环境 conda activate env_name 将环境写入Notebook的kernel中 python -m ipykernel install --user --name env_name --display-name "name(jupyter显示名称)" 打开Jupyter notebook,新建Python文件,即可看到创建的环境。 jupyter notebook(虚拟环境中执行该命令)但是我执行该步骤后,虽然可以在jupyter中选择该内核(虚拟环境),但是torch库报错, 我的解决方案是通过以下方式打开jupyter notebook即可(中间也安装了nb_conda_kernels等包,不知道问题的解决跟这些有没有关)。当然网上也有一些其他的解决方案。 问题1:终端显示ImportError: cannot import name 'secure_write',jupyter界面显示jupyter连接失败到后台服务的连接没能建立, 我们会继续尝试重连, 请检查网络连接还有服务配置. 解决办法:首先更新 jupyter_client版本 pip install --upgrade jupyter_client然后可能会显示"AttributeError: type object 'IOLoop' has no attribute 'initialized' ",这是因为tornado版本过高,不支持jupyter notebook,可以将 降低tornado版本 conda install tornado=4.5 |
CopyRight 2018-2019 实验室设备网 版权所有 |